package com.zhentao.dto;

import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
import lombok.Data;

import java.util.Date;

/**
 * 参数值DTO - 用于接收前端参数值数据
 * @author zhentao
 * @date 2024-12-19
 */
@Data
public class ParamValueDTO {
    
    /**
     * 参数ID
     */
    @NotNull(message = "参数ID不能为空")
    private Long paramId;
    
    /**
     * 参数值
     */
    @NotBlank(message = "参数值不能为空")
    private String paramValue;
    
    /**
     * 作用域类型：GLOBAL-全局，CUSTOMS_CODE-关区，ENTERPRISE-企业，USER-用户
     */
    @NotBlank(message = "作用域类型不能为空")
    private String scopeType;
    
    /**
     * 作用域值：如关区代码、企业ID、用户ID等
     */
    private String scopeValue;
    
    /**
     * 版本号
     */
    private String version;
    
    /**
     * 生效时间
     */
    private Date effectiveTime;
    
    /**
     * 过期时间
     */
    private Date expireTime;
    
    /**
     * 优先级，数值越大优先级越高
     */
    private Integer priority = 0;
    
    /**
     * 参数值描述
     */
    private String description;
    
    /**
     * 是否激活：1-是，0-否
     */
    private Integer isActive = 1;
}

